package com.amtf.datafile2;

import java.util.List;

public interface DataRecord {
	public DataTableDefinition<?> getDefinition();

	// public DataField append(DataField field);
	//
	// public DataField append(String value);

	public DataField get(int index);

	public DataField get(String name);

	public DataField[] getFields();

	public String getValue(int index);

	public String getValue(String name);

	public String[] getValues();

	public String getFieldName(int index);

	public String[] getFieldNames();

	public int getFieldCount();

	public int getFieldIndex(String name);

	// public DataField insert(int index, DataField value);
	//
	// public DataField insert(int index, String value);

	// public DataField set(int index, DataField value);

	public DataField set(int index, String value);

	// public DataField set(String name, DataField value);

	public DataField set(String name, String value);

	public DataRecord set(String[] fieldValues);

	public DataRecord set(Object[] fieldValues);

	public void validate();

	public boolean isValid();

	public List<String> getErrors();

	public void appendError(String message);

	public void clearErrors();

	// public DataRecord clone();
	public String toString();

	public boolean equals(DataRecord obj);

	// public DataRecord parse(Object record);

}
